package com.sprouting.ops.interfaces;

/**
 * 缓存的key
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2022/7/27 0:48
 */
public interface CacheKey {

    /**
     * sa-token中存储的session
     */
    interface SaTokenSession {
        /**
         * 保存在用户session中的角色key
         */
        String SESSION_KEY_ROLE = "saToken-role";
        /**
         * 保存在session中的权限key
         */
        String SESSION_KEY_POWER = "saToken-power";
        /**
         * 保存在session中的用户key
         */
        String SESSION_KEY_USER = "saToken-user";
    }

    /**
     * 用户相关缓存
     */
    interface User {
        /**
         * 用户验证码，redis的前缀code
         */
        String USER_VERIFICATION_CODE = "user_verification_code_";
        /**
         * 用户登录次数，redis的前缀
         */
        String USER_LOGIN_NUM = "user_login_num_";
    }

    /**
     * 消息
     */
    interface Message {
        /**
         * 缓存消息的key 前缀
         */
        String CACHE_MSG_KEY = "cache_msg_key_";
    }

    /**
     * websocket消息缓存
     */
    interface WebSocketMessage {
        /**
         * 消息体的key
         */
        String KEY = "ws_key_";
        /**
         * 消息体的值
         */
        String VALUE = "ws_value_";
        /**
         * redis 订阅消息通道标识
         */
        String CHANNEL = "ws_channel";
    }

}
